Program, information storage medium, game system, and input instruction device

ABSTRACT

A game system performs a process that generates and displays an instruction image that instructs a given movement of a controller including an acceleration sensor, and a process that acquires a signal from the acceleration sensor included in the controller to detect the movement of the controller, and determines the degree of conformity of the detected movement of the controller with the instructed movement instructed by the instruction image.

Japanese Patent Application No. 2007-237278, filed on Sep. 12, 2007, andJapanese Patent Application No. 2008-211603, filed on Aug. 20, 2008, arehereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates to a program, an information storagemedium, a game system, and an input instruction device.

A game system which gives dance action instructions to the player sothat the player enjoys dancing has been known. JP-A-2002-166051 andJP-A-2001-224729 disclose a game device which instructs movements in theforward direction, the leftward direction, the rightward direction, thediagonal leftward direction, and the diagonal rightward direction forthe player on the game screen so that the player performs a Para Paradance.

However, since such a game device requires infrared sensors fordetecting the movement of the player in the five directions at fivepositions around the player, the configuration becomes complicated andexpensive.

In recent years, a game system in which a controller (input section)including a physical quantity sensor (e.g., acceleration sensor) and agame device main body are separately provided has been known. In such agame system, the player plays the game by performing an input operationof shaking the controller or an input operation of inclining thecontroller.

However, such a game system has not allowed the player to easily enjoy agiven operation (e.g., dance game).

SUMMARY

According to a first aspect of the invention, there is provided aprogram that causes a computer to function as:

an instruction image generation section that generates an instructionimage that instructs a given movement of a controller including aphysical quantity sensor; and

a detection/determination section that acquires a signal from thephysical quantity sensor included in the controller, detects themovement of the controller, and determines the degree of conformity ofthe detected movement of the controller with the movement instructed bythe instruction image.

According to a second aspect of the invention, there is provided acomputer-readable information storage medium storing the above-describedprogram.

According to a third aspect of the invention, there is provided a gamesystem comprising:

an instruction image generation section that generates an instructionimage that instructs a given movement of a controller including aphysical quantity sensor; and

a detection/determination section that acquires a signal from thephysical quantity sensor included in the controller, detects themovement of the controller, and determines the degree of conformity ofthe detected movement of the controller with the movement instructed bythe instruction image.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is an explanatory view showing an example of a game systemaccording to one embodiment of the invention.

FIG. 2 is an explanatory view showing of an example of a controlleraccording to one embodiment of the invention.

FIG. 3 is a diagram for describing the principle of pointing instructionperformed by a controller according to one embodiment of the invention.

FIG. 4 is a functional block diagram showing a game system according toone embodiment of the invention.

FIG. 5 is an explanatory view showing an example of a game screenincluding an instruction image.

FIG. 6A to FIG. 6C are explanatory views showing a series of changes ina game screen including a pointing instruction image.

FIG. 7A to FIG. 7C are explanatory views showing examples of a change ina game screen including an instruction image that instructs a turn orpunch.

FIGS. 8A and 8B are diagrams for describing examples of an instructionimage formed by combining a plurality of moving path instruction imageparts.

FIG. 9A to FIG. 9D are explanatory views showing an example of a changein an instruction image.

FIGS. 10A and 10B are diagrams for describing the controller positiondetection principle.

FIG. 11 is a table for describing first type determination data.

FIG. 12 is a list for describing second type determination data.

FIGS. 13A to 13C are explanatory views showing production screens basedon a determination result.

FIGS. 14A and 14B are explanatory views showing a game screen pointingoperation using a controller.

FIGS. 15A to 15D are diagrams for describing an example of a pointinginstruction image.

FIG. 16A to FIG. 16C are explanatory views showing a change in a gameproduction screen in which the number of backing dancers increases.

FIGS. 17A and 17B are explanatory views respectively showing atwo-player mode and a four-player mode.

FIG. 18 is a flowchart showing an example of a process performed by agame system according to one embodiment of the invention.

FIG. 19 is a flowchart showing an example of a process performed in astep S14 in FIG. 18.

FIG. 20 is a flowchart showing an example of a process performed in astep S40 in FIG. 19.

FIG. 21 is a flowchart showing an example of a process performed in astep S42 in FIG. 19.

FIG. 22 is a flowchart showing an example of a process performed in astep S22 in FIG. 18.

DETAILED DESCRIPTION OF THE EMBODIMENT

The invention may provide an input instruction device, a program, aninformation storage medium, and a game system that can visually instructthe movement of a controller including a physical quantity sensor andappropriately determine whether or not the controller has been operatedaccording to the instructed movement so that a player can easily andappropriately play the game by using the controller, for example.

(1) According to one embodiment of the invention, there is provided aninput instruction device comprising:

an instruction image generation section that generates an instructionimage that instructs a given movement of a controller including aphysical quantity sensor; and

a detection/determination section that acquires a signal from thephysical quantity sensor included in the controller, detects themovement of the controller, and determines the degree of conformity ofthe detected movement of the controller with the movement instructed bythe instruction image.

According to another embodiment of the invention, there is provided agame system comprising the above-mentioned sections. According to stillanother embodiment of the invention, there is provided a program thatcauses a computer to function as the above-mentioned sections. Accordingto a further embodiment of the invention, there is provided acomputer-readable information storage medium storing a program thatcauses a computer to function as the above-mentioned sections.

The term “controller” refers to a controller that can be held by theuser and moved in real space. The controller is preferably a controllerthat can be held by the user and moved in the vertical direction, thehorizontal direction, the forward and backward direction, and the like,for example.

The type of the physical quantity sensor included in the controller isnot particularly limited insofar as the physical quantity sensor detectsa physical quantity from which the movement of the controller in realspace can be determined (acquired). The physical quantity sensor ispreferably formed as a sensor that detects a physical quantity fromwhich a moving amount per unit time in an arbitrary moving direction canbe detected. It is more preferable that the physical quantity sensordetect a three-dimensional movement in real space as moving amounts perunit time in three axial directions. The acceleration sensor 210 detectsthe accelerations in three-axis (X axis, Y axis, and Z axis) directions.An acceleration sensor that detects a three-dimensional movement asaccelerations in X axis, Y axis, and Z axis directions that intersectperpendicularly may be used.

The term “instruction image that instructs the movement” refers to aninstruction image that instructs the user who holds the controller tomove the controller in real space in various ways.

According to these embodiments, the user who holds the controller movesthe controller in real space in accordance with the movement instructedby the instruction image while observing the instruction image.

The detection/determination section acquires the signal from thephysical quantity sensor of the controller to detect the movement of thecontroller in real space. The detection/determination section determinesthe degree of conformity of the detected movement of the controller inreal space with the movement instructed by the instruction image.

In these embodiments, a section that transmits the determination resultto the user may be provided, if necessary. The determination result maybe transmitted as image data, may be transmitted aural as a soundoutput, or may be transmitted as image data and a sound output.

This enables the user to determine the accuracy of the movement of thecontroller in real space in accordance with the movement instructed bythe instruction image.

The embodiments in which the movement of the controller is instructedmay be applied to a game system. For example, the movement of thecontroller may be appropriately instructed for the player who holds thecontroller by using the instruction image, and a game production effectsuch as a given event may be generated based on the determination resultas to whether or not the controller has been accurately moved in realspace in accordance with the instructions. A game system that providesthe player who holds the controller with given dance movementinstructions as the instruction image so that the player can easily playthe dance game may be implemented.

These embodiments may also be suitably applied to other applications,such as giving aerobic or exercise instructions to a student (or player)who holds the controller so that the student can perform appropriateaerobics or exercise and determining the result.

(2) In each of the input instruction device, the game system, theprogram and the information storage medium,

the physical quantity sensor may detect a physical quantity from which amoving direction and a moving amount per unit time can be derived;

the instruction image generation section may generate the instructionimage that instructs a moving direction and a moving timing of thecontroller as the movement; and

the detection/determination section may acquire the signal from thephysical quantity sensor, detect the moving direction and the movingtiming of the controller, and determine the degree of conformity of thedetected moving direction and moving timing of the controller with theinstructions instructed by the instruction image.

This makes it possible to instruct the moving timing as the movement inaddition to the moving direction of the controller.

(3) In each of the input instruction device, the game system, theprogram and the information storage medium,

the instruction image generation section may generate the instructionimage that instructs a moving start timing as the moving timing andinstructs a moving duration; and

the detection/determination section may acquire the signal from thephysical quantity sensor, detect the moving direction, the moving starttiming, and the moving duration of the controller, and determine thedegree of conformity of the detected moving direction, moving starttiming, and moving duration of the controller with the instructionsinstructed by the instruction image.

This makes it possible to make the user successively move a hand or anarm in the instructed direction at a more appropriate timing.

(4) In each of the input instruction device, the game system, theprogram and the information storage medium,

the instruction image may include:

a moving path instruction image part that instructs a moving directionof the controller along a given path; and

a timing instruction image part that instructs a moving timing of thecontroller along the path,

the instruction image being updated according to a change in content ofinstruction.

This makes it possible to visually instruct the moving direction of thecontroller along a given path by using the moving path instruction imagepart, and to visually instruct the moving timing of the controller alongthe path by using the timing instruction image part. Therefore, theplayer can visually, instantaneously, and easily determine the movementof the controller from the instruction image.

The path instructed by the moving path instruction image part may be astraight line or a curve. A path that instructs the user who holds thecontroller to move the controller in the vertical direction, thehorizontal direction, or the forward and backward direction, or make aturn while holding the controller.

The timing instruction image part may be arbitrarily formed insofar asthe timing instruction image part instructs the moving timing of thecontroller along a given path instructed by the moving path instructionimage part. For example, the timing instruction image part may be formedto move along the moving path corresponding to the moving timing of thecontroller, or may be integrally formed with the moving path instructionimage part so that the color of the given path instructed by the movingpath instruction image part is changed corresponding to the movingtiming of the controller. It suffices that the timing instruction imagepart be displayed so that the moving timing can be visually recognized.

(5) In each of the input instruction device, the game system, theprogram and the information storage medium,

the timing instruction image part may move from a movement startinstruction position to a movement finish instruction position along themoving path instruction image part to instruct a moving start timing anda moving duration of the controller along the instructed path.

The user can visually and easily determine the moving start timing andthe moving duration of the controller along the instructed path bymoving the timing instruction image part along the moving pathinstruction image part.

(6) In each of the input instruction device, the game system, theprogram and the information storage medium,

at least one of the moving path instruction image part and the timinginstruction image part may be displayed as a transition image thatchanges from a previous notice display that is displayed before themoving start timing to a main display when the moving start timing isreached.

The player can be appropriately notified of the moving start timing, themoving direction, and the like using the transition image that changesfrom the previous notice display before the moving start timing to themain display.

(7) In each of the input instruction device, the game system, theprogram and the information storage medium,

the instruction image may be displayed as a set of moving pathinstruction image parts that instruct a continuous moving path bycombining a plurality of the moving path instruction image parts; and

the timing instruction image part may move along the continuouslycombined moving path instruction image parts to instruct the movingtiming of the controller along a moving path instructed by each of themoving path instruction image parts.

This makes it possible to instruct the movement and the moving timing ofthe controller in a more complicated manner with a variety by combininga plurality of moving path instruction image parts.

Therefore, when applying these embodiments to a dance game such as adance game in which the player dances as a cheerleader, a simple dancegame with a variety can be implemented in which two controllers held bythe player with both hands are considered to be two pompons held by thecheerleader, which instructs a complex movement (e.g., shaking thepompon to draw the letter “8” or making a turn while holding thepompons) instead of merely moving the pompons in the vertical orhorizontal direction.

The detection/determination process by the detection/determinationsection may be performed each time the movement instruction is issuedusing each moving path instruction image part that forms the set ofmoving path instruction image parts.

(8) In each of the input instruction device, the game system, theprogram and the information storage medium,

the detection/determination section may acquire the signal from thephysical quantity sensor, and detect a timing and a duration when themoving amount of the controller per unit time exceeds a given value asthe moving start timing and the moving duration of the controller; and

the detection/determination section may determine the degree ofconformity of the detected moving start timing and moving duration ofthe controller with a moving start timing and determination movingduration for determination related to the instructed moving start timingand instructed moving duration instructed by the instruction image whenthe detection/determination section has determined that the detectedmoving direction of the controller coincides with the instructed movingdirection instructed by the instruction image.

The detection/determination section can acquire the signal from thephysical quantity sensor, and detect the timing and the duration whenthe moving amount of the controller per unit time exceeds a given valueas the moving start timing and the moving duration of the controller.

In this case, a given delay time occurs until the moving amount of thecontroller per unit time exceeds a given value after the controller hasbeen moved, although the delay time differs depending on the user.Therefore, even if the player has moved the controller at the timinginstructed by the instruction image, detection of the movement isdelayed by the given delay time.

According to these embodiments, the moving start timing fordetermination and the determination moving duration for determinationrelated to the moving start timing and the moving duration instructed bythe instruction image has been set. Even if the detected moving starttiming of the controller is delayed as compared with the instructedmoving start timing, it is determined that the degree of conformity ofthe movement of the controller with the instructed movement is high whenthe moving start timing and the moving duration correspond to the movingstart timing and the determination moving duration for determination.

This eliminates a problem due to the delay in detecting the moving starttiming of the controller. Therefore, the movement of the controller canbe appropriately determined.

The moving start timing and the determination moving duration fordetermination may be set for a beginner player, an intermediate player,and a skilled player corresponding to the level of the user. Forexample, the degree of difficulty can be set by reducing delay betweenthe moving start timing instructed by the instruction image and thedetermination moving start timing for a skilled player, and increasingthe delay for a beginner player. The moving duration for determinationmay be reduced by the delay of the moving start timing for determinationwith respect to the instructed moving start timing instructed by theinstruction image. The degree of difficulty can be decreased byincreasing the moving duration for determination, and can be increasedby decreasing the moving duration for determination.

(9) In each of the input instruction device, the game system, theprogram and the information storage medium,

the detection/determination section may perform a first process thatcompares the signal output from the physical quantity sensor when movingthe controller with a first type determination database and determinesthe position of the controller that is moved, the first typedetermination database being related to the signal output from thephysical quantity sensor when moving the controller in differentpositions in the moving direction instructed by the instruction image,and the first type determination database being used to determine theposition of the controller; and

the detection/determination section may perform a second process thatcompares the signal output from the physical quantity sensor when movingthe controller in the position determined by the first process in themoving direction instructed by the instruction image with a second typedetermination database to specify the movement of the controllerincluding at least the moving direction, and determines the degree ofconformity of the specified movement with the instructed movement, thesecond type determination database being related to the position of thecontroller determined based on the first type determination database,and being used to determine the movement the controller including atleast the moving direction from the signal output from the physicalquantity sensor when moving the controller in the moving directioninstructed by the instruction image.

According to these embodiments, the first determination process thatdetermines the position of the controller using the first typedetermination database and the second process that determines the degreeof conformity of the movement of the controller including at least themoving direction using the second type determination database areperformed.

For example, three acceleration sensors that detect accelerations in X,Y, and Z axial directions in the space based on the controller may beused as the physical quantity sensor included in the controller. In thiscase, the values output from the sensors that detect accelerations in X,Y, and Z axial directions differ depending on the position of thecontroller even when moving the controller in an identical direction(e.g., rightward direction).

In order to more accurate detect the movement of the controllerincluding at least the moving direction, it is important to determinethe position of the controller when the controller is moved in advance,and specify the movement of the controller including at least the movingdirection from the signals output from the sensor that detectaccelerations in X, Y, and the Z axial directions, while being relatedto the position of the controller during movement.

Therefore, the position of the controller when the user moves therod-shaped controller in accordance with the instructions instructed bythe instruction image is classified into basic patterns, for example.For example, basic positions such as the case where the user holds thecontroller vertically, the case where the user holds the controllerhorizontally, and the case where the user inclines the controller aretaken into consideration.

The signals output from the physical quantity sensor included in thecontroller are collected within the predetermined allowable range, andstored in the database, while relating to the different basic positions.In this case, even if the user vertically holds the controller, the usermay hold the controller in a state in which the controller is inclinedwith respect to the vertical direction to some extent. If such aposition is excluded from the vertical position, it becomes impossibleto classify the basic position of the controller.

Therefore, the signals output from the sensor of the controller when theinclination of the controller from the basic position (e.g., verticalposition) is within the predetermined allowable range (e.g., when thecontroller held by the player is inclined with respect to the verticalbasic position within the predetermined allowable range) are collectedas data within the predetermined allowable range and stored in thedatabase corresponding to the basic position.

The data collected to be within the predetermined allowable range andstored in the database while being related to each basic position is thefirst type determination database.

In these embodiments, the signals output from the physical quantitysensor included in the controller when moving the controller in themoving direction instructed by the instruction image are compared withthe first type determination database, and the position of thecontroller that is moved in the moving direction is determined (firstdetermination process). Therefore, the position (e.g., vertical orhorizontal with respect to the screen) of the controller held by theuser can be determined.

When the position of the controller has been determined by the firstprocess, it is necessary to determine whether or not the movement of thecontroller coincides with the instructions when moving the controller inthis position in the instructed direction.

Therefore, the second type determination database is provided in thesame manner as the first type determination database. Specifically, thesignals output from the physical quantity sensor of the controller whenmoving the controller in the direction instructed by the instructionimage are collected corresponding to each basic position in which theplayer is considered to hold the controller. The second typedetermination database for specifying the movement of the controllerincluding the moving direction when moving the controller in a givenposition is provided in which the signals output from the physicalquantity sensor when moving the controller in each position areassociated with the moving direction of the controller.

Even if the user moves the controller in an identical direction (e.g.,rightward direction), the user may move the controller in a meanderingpath or a curved path with respect to the instructed direction. If it isdetermined that the movement along such a moving path does not conformto the movement in the instructed moving direction, a situation in whicha wide range of users cannot enjoy the game may occur.

Therefore, when the controller is moved along a moving path with thepredetermined allowable range with respect to the moving path instructedby the instruction image (e.g., the moving direction instructed by themoving path instruction section), it is necessary to determine themovement to be a movement in the moving direction.

Therefore, the signals output from the physical quantity sensor whenmoving the controller in a specific basic position in the movingdirection instructed by the instruction image (e.g., horizontaldirection) are collected within the predetermined allowable range, andstored in the database. When the moving direction instructed by theinstruction image is the vertical direction, the horizontal direction,the forward and backward direction, a predetermined diagonal direction,a semicircle or a circle along the vertical plane, or a semicircle or acircle along the horizontal plane, the signals output from the physicalquantity sensor when moving the controller in a specific basic positionin each moving direction are collected as data within the predeterminedallowable range.

The data in which the output data from the physical quantity sensorcollected with the predetermined allowable range when moving thecontroller in a given moving direction is associated with the givenmoving direction is collected corresponding to each moving directioninstructed by the instruction image and stored in the database. Thesecond type determination database is thus generated.

When the position of the controller has been determined by the firstprocess, the data relating to the signals with the predeterminedallowable range output from the physical quantity sensor when moving thecontroller in the determined position is compared with the signalsactually output from the physical quantity sensor of the controllerusing the second type determination database to specify the movement ofthe controller including the moving direction.

For example, a process that specifies the moving direction and themoving amount per unit time of the controller held in the positiondetermined by the first process is performed in real time. The movingdirection and the moving timing specified based on the moving directionand the moving amount per unit time of the controller are determined,and whether or not the movement coincides with the movement instructedby the instruction image is determined.

Therefore, whether or not the player has moved the controller in theinstructed direction can be determined irrespective of the position ofthe controller

It is preferable to perform the first determination process and thesecond determination process each time the movement of the controller isinstructed by the instruction image that instructs one movement. In thiscase, different movements of the controller are sequentially instructed,and the movement of the controller can be detected accurately withoutbeing affected by a change in the position of the controller.

The first determination process and the second determination process maybe performed in this order. Alternatively, the signals output from thephysical quantity sensor of the controller may be stored in a buffer,and the first determination process and the second determination processmay be performed in parallel.

When indicating a consecutive moving path by combining a plurality ofmoving path instruction image parts, the first determination process andthe second determination process may be performed in a period in whichthe controller must be moved to satisfy the moving path and the movingtiming instructed by each moving path instruction image part.Alternatively, the first determination process may be appropriatelyomitted so that the first determination process and the seconddetermination process are performed in a specific period and only thesecond determination process is performed in a specific period.

(10) In each of the input instruction device, the game system, theprogram and the information storage medium,

the instruction image generation section may generate the instructionimage that individually instructs a given movement for at least twocontrollers each having the physical quantity sensor.

This makes it possible for the user to hold two controllers with bothhands, thus enabling to instruct the movement of each controller by theinstruction image so that more complex instructions relating to themovement of the controller can be visually given.

When applying these embodiments to sport instructions (e.g., dance gameor exercise), the movement of each arm of the user can be individuallyinstructed as the movement of the controller. This makes it possible tovisually and simply give various instructions on a dance or exercise inwhich a plurality of movements are combined to the user.

When applying these embodiments to a dance game or the like, one playermay play the game while holding two controllers with both hands, or twoplayers may play the game while respectively holding one controller. Forexample, when forming a system so that four controllers can be used, afour-player game in which operation instructions are given to fourplayers each holding one controllers may be implemented, or a two-playergame in which operation instructions are given to two players eachholding two controllers may be implemented.

When a single player plays the game while holding two controllers, theoperation of each controller may be individually determined, and thedetermination result for each operation may be evaluated. Alternatively,the operations of the controllers may be evaluated.

(11) Each of the input instruction device, the game system, the programand the information storage medium may further comprise:

a game calculation section that instructs a player to perform a danceaction accompanying the movement of the controller, generates a gamescreen including a character that performs a dance related to theinstructed dance action based on an input from the controller, andgenerates a dance background music signal, wherein the instruction imagegeneration section generates the instruction image that instructs agiven movement of the controller in the game screen.

According to these embodiments, a dance game which instructs a dancemovement with one hand or both hands for the player (user) using theinstruction image so that the player can easily enjoy dancing to therhythm can be provided.

Specifically, a dance character associated with the dance actioninstructed by the instruction image appears on the game screen accordingto these embodiments. The dance character dances to the dance backgroundmusic, and the instruction image that instructs a given movement of thecontroller associated with the dance movement is generated and displayedon the game image where the dance character appears. Therefore, theplayer can dance in accordance with the movement instructed by theinstruction image in synchronization with the dance character andbackground music. As a result, a player-friendly dance game can beprovided.

(12) In each of the input instruction device, the game system, theprogram and the information storage medium,

the game calculation section may include a subsection that performs gameproduction related to a result of determination for the degree ofconformity by the detection/determination section.

According to these embodiments, when the movement of the controllerinstructed by the instruction image has been appropriately performed,game production corresponding to the degree of conformity determinationresult is performed, such as generating effect sound or displaying aproduction effect image on the game screen to liven up the game.

When successive movements are instructed by the instruction image, aspecial event may be generated when the player has successfully movedthe controller corresponding to the successive movements. This improvesthe game production effect.

(13) In each of the input instruction device, the game system, theprogram and the information storage medium,

the game calculation section may include a subsection that specifies acause of an incorrect operation of the controller and notifies theplayer of the cause of the incorrect operation based on a result ofdetermination for the degree of conformity by thedetection/determination section.

When the actual movement of the player does not coincide with themovement instructions instructed by the instruction image, the playercan be urged to more accurately move the controller by notifying theplayer of the cause of the incorrect operation.

For example, when the player has diagonally moved the controller eventhough the instruction image instructs the horizontal movement of thecontroller, the player is notified to that effect so that the player cancorrect the operation to move the controller along a more accuratemoving path. Therefore, when applying this embodiment to a dance game orthe like, the above configuration prompts the player to correct thedance and challenge a more difficult dance game.

(14) In each of the input instruction device, the game system, theprogram and the information storage medium,

the game calculation section may include a subsection that traces themoving path of the controller detected by the detection/determinationsection in the game screen based on a given condition.

The user can thus visually observe the degree of similarity between themovement instructed by the instruction image and the actual movement ofthe controller so that the user can enjoy the game while furtherimproving his dance skill.

(15) Each of the input instruction device, the game system, the programand the information storage medium may further comprise:

a pointing position detection section that acquires an imaging signalfrom a imaging section provided in the controller and detects a pointingposition of the controller on the game screen, the imaging sectionimaging a reference position recognition body disposed or displayed at aposition related to the game screen,

wherein the game calculation section includes a subsection that displaysa position instruction image that instructs to point at a predeterminedposition of the game screen at a given timing during the game; and

wherein the game calculation section generates an event related to apointing at the predetermined position when the pointing at thepredetermined position has been detected at the timing.

It suffices that the reference position recognition body allow thepointing position of the controller on the game screen to be specifiedfrom the captured image. For example, the reference position recognitionbody may be a recognition body provided at a position associated withthe game screen (e.g., at least two light sources or recognizableobjects), or may be a recognition image displayed on the game screen.

For example, the two light sources may be provided around a display andimaged by using an imaging section provided in the controller so that aCPU can determine the relative positional relationship between thecontroller and the game screen on the screen and determine the pointingposition of the controller on the game screen.

In these embodiments, the position instruction image that instructs theplayer to point a given position on the game screen at a given timingduring the game is generated and displayed.

When the player has successfully pointed the game screen using thecontroller in accordance with the instruction, a predetermined event(e.g., the number of backing dancers appearing on the game screenincreases or a plurality of backing dancers who dance on the game screengive special performance) may be generated to increase the range of thegame.

(16) In each of the input instruction device, the game system, theprogram and the information storage medium,

the instruction image generation section may generate the instructionimage that instructs a given movement of the controller related to thepredetermined pointed position of the game screen as the event relatedto the pointing at the predetermined position.

Some embodiments of the invention will be described below. Note that theembodiments described below do not in any way limit the scope of theinvention laid out in the claims herein. In addition, not all of theelements of the embodiments described below should be taken as essentialrequirements of the invention.

The following embodiments illustrate an example in which the inventionis applied to a game system.

1. Outline of System

FIG. 1 is a schematic external view showing a game system according toone embodiment of the invention.

The game system according to this embodiment includes a display section12 that displays a game image on a display screen 11, a game device 10(game device main body) that performs a game process and the like, afirst controller 20-1 (operation input section), and a second controller20-2 (operation input section), the first controller 20-1 and the secondcontroller 20-2 being held by a player P with either hand so that theirpositions and directions within a predetermined range can be arbitrarilychanged.

In the example shown in FIG. 1, the game device 10 and each of thecontrollers 20-1 and 20-2 exchange various types of information viawireless communication.

FIG. 2 is a schematic external view showing the controller 20 accordingto this embodiment.

The controller 20 includes an arrow key 16 a and an operation button 16b as an operation section.

The controller 20 also includes an acceleration sensor 210 as a physicalquantity sensor that detects information which changes corresponding tothe inclination and the movement of the controller so that informationrelating to the inclination and the movement of the controller in realspace can be acquired.

The acceleration sensor 210 according to this embodiment is formed as atriaxial acceleration sensor 210 (detection section). The accelerationsensor 210 detects the direction and the degree of inclination of thecontroller as acceleration vectors (inclination information) in threeaxial directions applied to the controller.

The acceleration sensor 210 detects the movement of the controller(i.e., changes in speed and direction of the controller per unit timedue to the movement of the controller) as acceleration vectors (movementinformation) in three axial directions applied to the controller.

As shown in FIG. 1, when the player P has moved the first controller20-1 and the second controller 20-2 while holding each controller tochange the inclination and the movement of each controller, the gamedevice 10 detects and determines the inclination and the movement ofeach of the first controller 20-1 and the second controller 20-2 in realspace based on the information that changes corresponding to theinclination and the movement of each controller, and controls the game.

The game system according to this embodiment displays a dance gamescreen shown in FIG. 5, and displays an instruction image 340 in thegame screen with the progress of the game. The instruction image 340instructs the player who holds the controller to move the controller inreal space in various ways.

The player who holds the controller 20 moves the controller 20 in realspace in accordance with the movement of the controller instructed bythe instruction image while observing the instruction image.

The game device 10 acquires signals from the acceleration sensor 210 ofthe controller 20 to detect the movement of the controller in realspace. The game device 10 determines the degree of conformity of thedetected movement of the controller in real space with the movementinstructed by the instruction image.

The game device 10 generates a given event or a game production effectbased on the determination result.

The player P who holds the controller 20 is thus provided with givendance movement instructions or the like using the instruction image 340so that the player can easily play the dance game.

The controller 20 has a pointing function of indicating (pointing) anarbitrary position on the display screen 11.

A pair of light sources 198R and 198L (reference position recognitionportions) is disposed around the display section 12 at a positionassociated with the display screen 11. The light sources 198R and 198Lare disposed at a predetermined interval along the upper side of thedisplay section 12, and are formed to project infrared radiation (i.e.,invisible light). An imaging section 220 that captures an image in frontof the controller 20 is provided on the front side of the controller 20.

The pointing position of the controller 20 on the display screen 11 iscalculated as follows.

The rectangular area shown in FIG. 3 instructs a captured image PAacquired by the imaging section 220 (image sensor). The captured imagePA is an image corresponding to the position and the direction of thecontroller 20.

The position RP of an area RA corresponding to the light source 198R andthe position LP of an area LA corresponding to the light source 198Lincluded in the captured image PA are calculated. The positions RP andLP are instructed by position coordinates specified by a two-dimensionalcoordinate system (XY-axis coordinate system) in the captured image PA.The distance between the light sources 198R and 198L and the relativepositions of the light sources 198R and 198L associated with the displayscreen 11 are known in advance. Therefore, the game device 10 calculatesthe indication position (pointing position) on the display screen 11using the controller 20 from the coordinates of the positions RP and LPthus calculated.

In this embodiment, the origin O of the captured image PA is determinedto be the pointing position of the controller 20. The pointing positionis calculated from the relative positional relationship between theorigin O of the captured image PA, the positions RP and LP in thecaptured image PA, and a display screen area DA that is an area in thecaptured image PA corresponding to the display screen 11.

In the example shown in FIG. 3, the positions RP and LP are positionabove the center of an imaging area PA to some extent in a state inwhich the line segment that connects the positions RP and LP is rotatedclockwise by theta degrees with respect to a reference line L (X axis)of the imaging area PA. In the example shown in FIG. 3, the origin Ocorresponds to a predetermined position on the lower right of thedisplay screen area DA so that the coordinates of the indicationposition (pointing position) of the controller 20 on the display screen11 can be calculated.

In the game system according to this embodiment, a game image shown inFIGS. 6A to 6C is displayed on the display screen 11, for example. Aposition instruction image 350 that instructs the player to points at apredetermined position in the game image at a given timing using thefirst controller 20-1 and the second controller 20-2 held with the lefthand or the right hand with the progress of the dance game is displayedin the game image. When the player has instructed the pointing positioninstructed by the position instruction image at a predetermined timingby using the first controller 20-1 and the second controller 20-2, thegame device 10 determines whether or not the predetermined position hasbeen instructed at an appropriate timing. When the pointing operationhas been performed appropriately, the game device 10 performs a gameproduction process that generates a predetermined event (e.g., thenumber of backing dancers appearing in the game image increases).

It suffices that the reference position recognition body allow thepointing position of the controller on the game screen to be specifiedfrom the captured image. For example, the reference position recognitionbody may be a recognition body provided at a position associated withthe game screen (e.g., at least two light sources or recognizableobjects), or may be a recognition image displayed on the game screen.For example, two reference position recognition images may be displayedat predetermined positions on the game screen as the recognition bodies.The number of recognition bodies need not necessarily two. A recognitionbody having a shape for which the relative positional relationship withthe display screen 11 can be specified. The number of recognition bodiesmay be one.

2. Configuration

FIG. 4 shows an example of a functional block diagram of the game systemaccording to this embodiment. Note that the game system according tothis embodiment need not necessarily include all of the elements shownin FIG. 1. The game system according to this embodiment may have aconfiguration in which some of the elements are omitted.

The game system according to this embodiment includes the game device10, the controller 20 as an input section, an information storage medium180, a display section (display device) 190, a speaker 192, and thelight sources 198R and 198L.

The controller 20 includes the acceleration sensor 210, the imagingsection 220, a speaker 230, a vibration section 240, a microcomputer250, and a communication section 260. The controller 20 may include animage input sensor, a sound input sensor, and a pressure sensor.

The acceleration sensor 210 detects the accelerations in three axialdirections (X axis, Y axis, and Z axis). Specifically, the accelerationsensor 210 detects the accelerations in the vertical direction, thehorizontal direction, and the backward or forward direction. Theacceleration sensor 210 detects the accelerations at intervals of 5msec. The acceleration sensor 210 may detect the accelerations in oneaxis, two axes, or six axes. The accelerations detected by theacceleration sensor are transmitted to the game device through thecommunication section 260.

The imaging section 220 includes an infrared filter 222, a lens 224, animaging element (image sensor) 226, and an image processing circuit 228.The infrared filter 222 is disposed on the front side of the controller,and allows only infrared radiation contained in light incident from thelight source 198 disposed while being associated with the displaysection 190 to pass through. The lens 224 condenses the infraredradiation that has passed through the infrared filter 222, and emits theinfrared radiation to the imaging element 226. The imaging element 226is a solid-state imaging element such as a CMOS sensor or a CCD. Theimaging element 226 images the infrared radiation condensed by the lens224 to generate a captured image. The image processing circuit 228processes the captured image generated by the imaging device 226. Forexample, the image processing circuit 228 processes the captured imagefrom the imaging device 226 to detect a high luminance component, anddetects light source position information (specific position) in thecaptured image. When a plurality of light sources are provided, theimage processing circuit 228 detects the position information relatingto the plurality of light sources in the captured image. The detectedposition information is transmitted to the game device through thecommunication section 260. In this embodiment, the controller 20 may beutilized as a pointing device that points a position (positioninformation) on the game screen.

The speaker 230 outputs sound acquired from the game device through thecommunication section 260. In this embodiment, the speaker 230 outputsconfirmation sound transmitted from the game device or effect soundcorresponding to motion.

The vibration section (vibrator) 240 receives a vibration signaltransmitted from the game device, and operates based on the vibrationsignal.

The microcomputer 250 outputs sound or operates the vibrator based ondata from received from the game device. The microcomputer 250 causesthe accelerations detected by the acceleration sensor 210 to betransmitted to the game device through the communication section 260, orcauses the position information detected by the imaging section 220 tobe transmitted to the game device 10 through the communication section260.

The communication section 260 includes an antenna and a wireless module.The communication section 260 exchanges data with the game device viawireless communication using the Bluetooth (registered trademark)technology, for example. The communication section 260 according to thisembodiment transmits the accelerations detected by the accelerationsensor 210, the position information detected by the imaging section220, and the like to the game device at alternate intervals of 4 msecand 6 msec. The communication section 260 may be connected to the gamedevice via a communication cable, and exchange information with the gamedevice via the communication cable.

The controller 20 may also include operating sections such as a button,a lever (analog pad), a mouse, an arrow key, and a touch panel display.The controller 20 may include a gyrosensor that detects the angularvelocity which changes due to the input operation of the player.

The game device 10 according to this embodiment is described below.

The game device 10 according to this embodiment includes a storagesection 170, a processing section 100, and a communication section 196.

The storage section 170 serves as a work area for the processing section100, the communication section 194, and the like. The function of thestorage section 170 may be implemented by hardware such as a RAM (VRAM).

The storage section 170 according to this embodiment includes a mainstorage section 172, a drawing buffer 174, and a sound data storagesection 176.

The main storage section 172 serves as a work area for the processingsection 100, the communication section 194, and the like. The functionof the storage section 170 may be implemented by hardware such as a RAM(VRAM).

In this embodiment, the main storage section 172 includes a storage area173 that stores first and second type determination databases describedlater.

The drawing buffer 174 stores an image generated by a drawing section120.

The sound data storage section 176 stores confirmation sound thatinstructs the reaction of the controller with regard to the inputoperation of the player and effect sound output along with a gamecalculation process. The sound data storage section 176 stores aplurality of types of confirmation sound corresponding to detectedinformation. The sound data storage section 176 stores a plurality oftypes of effect sound corresponding to motion and a given event.

The processing section 100 performs various processes according to thisembodiment based on a program (data) stored in (read from) theinformation storage medium 180. Specifically, the information storagemedium 180 stores a program that causes a computer to function as eachsection according to this embodiment (i.e., a program that causes acomputer to perform the process of each section). The informationstorage medium 180 includes a memory card that stores a player'spersonal data, game save data, and the like.

The communication section 196 can communicate with another game devicethrough a network (Internet). The function of the communication section196 may be implemented by hardware such as a processor, a communicationASIC, or a network interface card, a program, or the like. Thecommunication section 196 can perform cable communication and wirelesscommunication.

The communication section 196 includes an antenna and a wireless module,and exchanges data with the communication section 260 of the controller20 using the Bluetooth (registered trademark) technology, for example.For example, the communication section 196 transmits sound data (e.g.,confirmation sound and effect sound) and the vibration signal to thecontroller, and receives information detected by the acceleration sensorand the image sensor of the controller 20 at alternate intervals of 4msec and 6 msec.

A program (data) that causes a computer to function as each sectionaccording to this embodiment may be distributed to the informationstorage medium 180 (or the storage section 170) from a storage sectionor an information storage medium included in a server through a network.Use of the information storage medium of the server is also includedwithin the scope of the invention.

The processing section 100 (processor) performs a game calculationprocess, an image generation process, and a sound control process basedon detected information received from the controller 20, a programloaded into the storage section 170 from the information storage medium180, and the like.

The processing section 100 according to this embodiment functions as aninstruction image generation section 102, a pointing positioninstruction section 104, a detection/determination section 110, a gamecalculation section 112, a drawing section 120, a sound control section130, and a vibration control section 140.

The instruction image generation section 102 generates an instructionimage that instructs a given movement of the controller 20 on the gamescreen. Specifically, the instruction image generation section 102generates the instruction image 340 that instructs the moving directionand the moving timing of the controller 20 as the given movement of thecontroller 20.

The pointing position instruction section 104 generates a positioninstruction image (pointing instruction image) 350 that instructs theplayer to point a predetermined position on the game screen at a giventiming during the game.

The detection/determination section 110 detects the movement of thecontroller 20 based on information obtained from the acceleration sensor210 of the controller 20, and determines the degree of conformity of thedetected movement of the controller 20 with the movement instructed bythe instruction image.

The detection/determination section 110 detects the pointing position ofthe controller 20 on the game screen based on information from theimaging section 220 of the controller 20, and determines whether or notthe detected pointing position has been appropriately pointed at thepredetermined timing instructed by the position instruction image.

The game calculation section 112 performs game calculations based on thedetermination result of the detection/determination section 110 and agiven program.

For example, the game calculation section 112 disposes various objects(i.e., objects formed by a primitive such as a polygon, free-formsurface, or subdivision surface) that represent display objects such asa character (player character or enemy character), a moving body (e.g.,car or airplane), a building, a tree, a pillar, a wall, or a map(topography) in an object space. Specifically, the game calculationsection 112 determines the position and the rotational angle (synonymouswith orientation or direction) of the object in a world coordinatesystem, and disposes the object at the determined position (X, Y, Z) andthe determined rotational angle (rotational angles around X, Y, and Zaxes).

The game calculation section 112 controls a virtual camera (viewpoint)for generating an image viewed from a given (arbitrary) viewpoint in theobject space. Specifically, the game calculation section 112 controlsthe position (X, Y, Z) or the rotational angle (rotational angles aroundX, Y, and Z axes) of the virtual camera (controls the viewpointposition, the line-of-sight direction, or the angle of view).

For example, when imaging the object (e.g., character) from behind usingthe virtual camera, the game calculation section 112 controls theposition or the rotational angle (direction) of the virtual camera sothat the virtual camera follows a change in position or rotation of theobject. In this case, the game calculation section 112 may control thevirtual camera based on information such as the position, the rotationalangle, or the speed of the object obtained by a motion generationsection 124 described later. Alternatively, the game calculation section112 may rotate the virtual camera at a predetermined rotational angle,or move the virtual camera along a predetermined path. In this case, thegame calculation section 112 controls the virtual camera based onvirtual camera data for specifying the position (path) or the rotationalangle of the virtual camera. When a plurality of virtual cameras (viewpoints) are provided, the above-described control process is performedon each virtual camera.

The game calculation section 112 calculates the movement/motion(movement/motion simulation) of a model (e.g., character, car, orairplane). Specifically, the game calculation section 112 causes themodel to move in the object space or causes the object to perform amotion (animation) based on detected information determined to satisfy apredetermined condition, a program (movement/motion algorithm), motiondata, and the like. Specifically, the game calculation section 112performs a simulation process that sequentially calculates movementinformation (position, rotational angle, speed, or acceleration) andmotion information (position or rotational angle of each part that formsthe object) of the object in frame ( 1/60 sec) units. Note that the term“frame” refers to a time unit when performing the object movement/motionprocess (simulation process) and the image generation process.

The drawing section 120 performs a drawing process based on the resultsof various processes (game calculation process) performed by theprocessing section 100 to generate an image, and outputs the image tothe display section 190. When generating a three-dimensional game image,display object data (object data or model data) including vertex data(e.g., vertex position coordinates, texture coordinates, color data,normal vector, or alpha value) relating to each vertex that defines thedisplay object (object or model) is input to the drawing section 120,and the drawing section 120 performs a vertex process based on thevertex data included in the input display object data. When performingthe vertex process, the drawing section 120 may perform a vertexgeneration process (tessellation, curved surface division, or polygondivision) for dividing the polygon, if necessary. In the vertex process,the drawing section 120 performs a vertex movement process and ageometric process such as coordinate transformation (world coordinatetransformation or camera coordinate transformation), clipping,perspective transformation, or a light source process, and changes(updates or adjusts) the vertex data relating to the vertices that formthe display object based on the processing results. The drawing section120 performs rasterization (scan conversion) based on the vertex dataafter the vertex process so that the surface of the polygon (primitive)is associated with pixels. The drawing section 120 then performs a pixelprocess (fragment process) that draws pixels which form the image(fragments which form the display screen). In the pixel process, thedrawing section 120 determines the final pixel drawing color byperforming various processes such as a texture reading (texture mapping)process, a color data setting/change process, a translucent blendingprocess, and an anti-aliasing process, and outputs (draws) the drawingcolor of the object subjected to perspective transformation to (in) thedrawing buffer 174 (i.e., a buffer that can store image information inpixel units; VRAM or rendering target). Specifically, the pixel processincludes a per-pixel process that sets or changes the image information(e.g., color, normal, luminance, and alpha value) in pixel units. Thiscauses an image viewed from the virtual camera (given viewpoint) set inthe object space to be generated. When a plurality of virtual cameras(viewpoints) are provided, an image may be generated so that images(divided images) viewed from the respective virtual cameras can bedisplayed on one screen.

The vertex process and the pixel process performed by the drawingsection 120 may be implemented by hardware that enables a programmablepolygon (primitive) drawing process (i.e., programmable shader (vertexshader and pixel shader)) based on a shader program written using ashading language. The programmable shader enables a programmableper-vertex process and per-pixel process to increase the degree offreedom relating to the drawing process so that the representationcapability is significantly improved as compared with a fixed hardwaredrawing process.

The drawing section 120 performs a geometric process, a texture mappingprocess, a hidden surface removal process, an alpha blending process,and the like when drawing the display object.

In the geometric process, the display object is subjected to acoordinate transformation process, a clipping process, a perspectivetransformation process, a light source calculation process, and thelike. The display object data (e.g., display object's vertex positioncoordinates, texture coordinates, color data (luminance data), normalvector, or alpha value) after the geometric process (after perspectivetransformation) is stored in the main storage section 171.

The term “texture mapping process” refers to a process for mapping atexture (texel value) stored in the storage section 170 on the displayobject. Specifically, the drawing section 120 reads a texture (surfaceproperties such as color (RGB) and alpha value) from the storage section170 using the texture coordinates set (assigned) to the vertices of thedisplay object, for example. The drawing section 120 maps the texture(two-dimensional image) on the display object. In this case, the drawingsection 120 performs a pixel-texel association process, bilinearinterpolation (texel interpolation), and the like.

The drawing section 130 may perform a hidden surface removal process bya Z buffer method (depth comparison method or Z test) using a Z buffer(depth buffer) that stores the Z value (depth information) of thedrawing pixel. Specifically, the drawing section 120 refers to the Zvalue stored in the 7 buffer when drawing the drawing pixelcorresponding to the primitive of the object. The drawing section 120compares the Z value stored in the Z buffer with the Z value of thedrawing pixel of the primitive. When the Z value of the drawing pixel isthe Z value in front of the virtual camera (e.g., a small Z value), thedrawing section 120 draws the drawing pixel and updates the Z valuestored in the Z buffer with a new Z value.

The term “alpha blending process” refers to a translucent blendingprocess (e.g., normal alpha blending, additive alpha blending, orsubtractive alpha blending) based on an alpha value (A value). In normalalpha blending, the drawing section 120 calculates a color obtained byblending two colors by performing linear interpolation using the alphavalue as the degree of blending.

The term “alpha value” refers to information that can be stored whilebeing associated with each pixel (texel or dot), such as additionalinformation other than the color information that instructs theluminance of each RGB color component. The alpha value may be used asmask information, translucency (equivalent to transparency or opacity),bump information, or the like.

The sound control section 130 causes at least one of the speaker 230 ofthe controller and the speaker 192 to output sound (includingconfirmation sound and effect sound) stored in the sound data storagesection 176 based on the results of various processes (e.g., thedetermination process and the game calculation process) performed by theprocessing section 100.

The sound control section 130 according to this embodiment causes thespeaker to output confirmation sound when the detection/determinationsection 110 has determined that the predetermined condition issatisfied. The sound control section 130 may cause the speaker to outputconfirmation sound corresponding to the detected information. The soundcontrol section 130 may cause only the speaker 230 of the controller tooutput confirmation sound, and may cause the speaker 192 to outputeffect sound corresponding to the game calculation process (e.g., effectsound corresponding to the motion determined based on the detectedinformation).

The vibration control section 140 causes the vibration section 240 ofthe controller to vibrate based on a predetermined condition.

The game system according to this embodiment may be a system dedicatedto a single-player mode in which only one player can play the game, ormay be a system provided with a multi-player mode in which a pluralityof players can play the game. When a plurality of players play the game,the game images and the game sound provided to the players may begenerated using one game device and one display section. The game imagesand the game sound may be generated by a distributed process using aplurality of game devices connected through a network (transmission lineor communication line) or the like. In this embodiment, when a pluralityof players play the game, a determination as to whether or not apredetermined condition is satisfied based on the detected information,sound control based on the determination result, vibration control areperformed corresponding to the controller of each player.

The information storage medium 180 (computer-readable medium) stores aprogram, data, and the like. The function of the information storagemedium 180 may be implemented by hardware such as an optical disk (CD orDVD), a magneto-optical disk (MO), a magnetic disk, a hard disk, amagnetic tape, or a memory (ROM).

The display section 190 outputs an image generated by the processingsection 100. The function of the display section 190 may be implementedby hardware such as a CRT display, a liquid crystal display (LCD), anorganic EL display (OELD), a plasma display panel (PDP), a touch paneldisplay, or a head mount display (HMD).

The speaker 192 outputs sound reproduced by the sound control section130. The function of the speaker 192 may be implemented by hardware suchas a speaker or a headphone. The speaker 192 may be a speaker providedin the display section. For example, when a television set (hometelevision set) is used as the display section, the speaker 192 may be aspeaker provided in the television set.

The light source 198 is an LED that emits infrared radiation (i.e.,invisible light), for example. The light source 198 is disposed whilebeing associated with the display section 190. In this embodiment, aplurality of light sources (light source 198R and light source 198L) areprovided. The light source R and the light source L are disposed at apredetermined interval.

3. Method According to this Embodiment

A method according to this embodiment is described below with referenceto the drawings.

3-1: Game Executed According to this Embodiment and Instruction ImageDisplay Process

FIG. 5 shows an example of the game screen displayed according to thisembodiment.

The game executed by the game system according to this embodiment isconfigured so that the player plays the leader of a cheerleading danceteam to lead the dance of the entire team while giving danceinstructions to the members of the team aiming to succeed in the dance.

As shown in FIG. 5, floral beat characters 330 that instruct the beat ofbackground music (BGM) are displayed on the game screen. The beatcharacters 330 blink on the beat.

A main dancer 310 who holds pompons with both hands and a plurality ofsub dancers 312-1 and 312-2 positioned behind the main dancer 310 aredisplayed on the game screen.

The main dancer 310 is a player character that reproduces a dancecorresponding to the operation of the player as a cheerleader.

The instruction image generation section 102 generates and displays apair of instruction images 340-1 and 340-2 that respectively instructthe movements of the first controller 20-1 and the second controller20-2 held by the player with the progress of the game. In thisembodiment, the instruction image 340 is displayed at given timeintervals in a predetermined order with the progress of the game.

In FIG. 5, the instruction images 340-1 and 340-2 that respectivelyinstruct the movements of the first controller 20-1 and the secondcontroller 20-2 held by the player are displayed on either side of themain dancer 310 that is a player character.

The instruction image 340-1 instructs the operation of the firstcontroller 20-1 held by the player with the right hand, and theinstruction image 340-2 instructs the operation of the second controller20-2 held by the player with the left hand.

The instruction images 340-1 and 340-2 are displayed at given positionson the game screen with the progress of the game. The instruction images340-1 and 340-2 give instructions to the player with regard to givenmovements (i.e., moving direction, moving timing, and moving duration)of the controllers 20-1 and 20-2.

The instruction image 340 according to this embodiment includes a tracerail 342 (or a moving path instruction image part) that instructs amoving direction of the controller, a timing mark 344 (or a timinginstruction image part) that instructs the moving timing, and anoperation finish mark 346 that instructs the expiration of the movingduration.

The timing mark 344 is displayed on one end of the trace rail 342, andthe operation finish mark 36 is displayed on the other end of the tracerail 342 in a fixed state.

The timing mark 344 starts to move along the trace rail 342 in themoving direction of the controller 20 in synchronization with theoperation start timing of the controller 20, and reaches the operationfinish mark 346 at the finish timing of the moving duration.

The player can determine the moving timing and the moving direction ofthe controller by the trace rail 342 and the timing mark 344 that movesalong the trace rail 342, and can determine the expiration of theoperation duration when the timing mark 344 has reached the operationfinish mark 346.

When the timing mark 344 has moved along the trace rail 342 and reachedthe operation finish mark 346, the next timing mark 344 may be displayedon the identical trace rail 342 and moved to give the identical movementinstruction to the player. In the game image shown in FIG. 5, the tracerail 342 instructs the upward movement of the controller. In thisembodiment, the instruction image 340 that instructs the movement inanother reference direction (e.g., right direction, left direction,diagonally right upward direction, diagonally left upward direction,downward direction, right downward direction, left downward direction,and backward or forward direction (depth direction or front direction))is generated and displayed.

The instruction image 340 that instructs the movement in the backward orforward direction (depth direction or front direction) may be formed bydisplaying the trace rail 342 in the game space displayed on the gamescreen in the forward direction and moving the timing mark 344 along thetrace rail 342 in the forward direction or the backward direction, forexample.

The instruction image 340 that instructs the player to make a right turnis displayed in FIGS. 7A and 7B, and the instruction image 340 thatinstructs the player to perform a punch operation (i.e., move thecontroller forward) is displayed in FIG. 7C.

In this embodiment, when the game has started, the instruction images340 that instruct the player who gets into the rhythm of the backgroundmusic to make a dance action are displayed one after another with theprogress of the game.

In this embodiment, the main dancer 310 who dances corresponding to thedance action instructed by the instruction image 340 appears on the gamescreen, and the main dancer 310 and the sub dancers 312 dance to thebackground music. The player moves the first controller 20-1 and thesecond controller 20-2 (i.e., both hands) in real space in accordancewith the instructions given by the instruction images 340-1 and 340-2displayed one after another while listening to the background music andwatching the main dancer 310 displayed on the game screen to enjoydancing to the rhythm as if the player were the leader of thecheerleading dance team.

In this embodiment, a set of moving path instruction image parts thatinstruct a continuous moving path is generated and displayed bycombining a plurality of trace rails (i.e., moving path instructionimage parts) so that complex movement instructions can be given to theplayer.

FIG. 8A shows an example of the instruction image 340 that instructs theplayer to move the controller 20 almost in the shape of the letter “8”.Four trace rails 342-1 to 342-4 that differ in moving direction aredisplayed in combination.

The timing mark 344 sequentially moves along the four trace rails 342-1to 342-4 so that the player can easily and visually determine the movingdirection, the moving timing, and the moving duration of thecorresponding controller.

FIG. 8B shows the instruction image 340 that instructs the player tocircularly move the controller 20 clockwise by combining a plurality ofarc-shaped trace rails 342-1 and 342-2.

Since a plurality of trace rails 342 are displayed in combination, theinstruction image shown in FIG. 8A can instruct the player to perform adance operation that moves the pompon in the shape of the letter “8”,and the instruction image shown in FIG. 8B can instruct the player toperform a dance operation that swings the pompon clockwise.

FIGS. 9A to 9D show an example of the instruction image 340 that allowsthe player to be more easily notified of the moving start timing of thecontroller 20.

In this embodiment, the trace rail 342 (or a moving path instructionimage part) and the timing mark 344 (or a timing instruction image part)are displayed as a transition image that changes from a previous noticedisplay that is displayed before the moving start timing to a maindisplay when the moving start timing has been reached.

Specifically, the trace rail 342 shown in FIG. 9A is previouslydisplayed by a thin dotted line two beats before the moving start timingof the controller. The trace rail 342 is displayed by a solid line (seeFIG. 9B) one beat before the moving start timing, and the timing mark344 is displayed to notify the player that the operation will occurshortly.

When the operation timing has been reached, the trace rail 342 isdisplayed in a shape that instructs that the operation timing has beenreached, and the timing mark 344 moves along the trace rail 342 from themovement start point to the movement finish point. The player is thusinstructed to move the controller 20 in the direction instructed by thetrace rail 342 in synchronization with the movement of the timing mark344.

When the timing mark 344 moves along the trace rail 342 (see FIG. 9D),the path sequentially disappears along with the movement of the timingmark 344, and the expiration of the moving duration is instructed whenthe timing mark 344 has reached the operation finish mark 346.

According to this embodiment, the player can be appropriately notifiedof the moving start timing and the moving direction using the transitionimage that changes from the previous notice display before the movingstart timing to the main display so that the player can makepreparations for moving the controller 20 in the instructed direction.

Note that the transition image may be displayed as a transition imagethat changes from transparent display to the main display, or may bedisplayed as a transition image that moves toward the display positionalong the depth direction while changing its transparency or size.

An appearance of the trace rail 342 that is a moving path instructionimage part and an appearance of the timing mark 344 that is aninstruction image part may be changed in the timing of instruction tothe player.

For example, at least one of color, form, and size of the timing mark344 that is an instruction image part may be changed so that the timingmark 344 becomes gradually more visible and has more improved productioneffects as the timing mark 344 comes close to the operation finish mark346.

When the timing mark 344 moves on the trace rail 342, at least one ofcolor, form, and size of at least one of the trace rail 342 and thetiming mark 344 may be changed so that the visibility and the productioneffects are improved.

3-2: Controller Movement Detection/Determination Process

When the instruction image 340 has instructed a given movement ofcontroller 20, the detection/determination section 110 according to thisembodiment detects the actual movement of the controller 20 performed bythe player, and determines the degree of conformity of the detectedmovement of the controller with the movement instructed by theinstruction image.

The details are described below.

Position Detection of Controller 20 (First Process)

In this embodiment, the moving direction and the moving start timing ofthe controller 20 may be calculated based on the accelerations detectedby the acceleration sensor 210.

The acceleration sensor 210 according to this embodiment detects theaccelerations in three axial directions (X axis, Y axis, and Z axis) inthe space based on the controller.

A method that calculates the gravitational accelerations of thecontroller 20 in two axes (XY axes) is described below for conveniencewith reference to FIGS. 10A and 10B FIG. 10A is a diagram showing thegravitational acceleration in a real space coordinate system, and FIG.10B is a diagram showing the gravitational acceleration in thecoordinate system of the controller 20 based on the controller 20.

For example, when the controller 20 is placed horizontally (in thiscase, the acceleration sensor 210 of the controller 20 is also placedhorizontally) (see FIG. 10A), a gravity of 1 G is applied in the Y axis(downward) direction (gravitational acceleration direction). As shown inFIG. 10B, a gravity of 1 G is also applied in the downward directionalong the y axis in the coordinate system of the controller 20. When theplayer has inclined the controller 20 by 45° counterclockwise in realspace coordinate system (XY axes), a gravitational acceleration of 1 Gis applied in the Y-axis direction in real space coordinate system (FIG.10A). In the controller coordinate system, the gravitationalacceleration of 1 G is decomposed in the x axis direction and the y axisdirection. Specifically, the x-axis component and the y-axis componentare respectively 1/√2 G.

In this embodiment, the inclination of the controller 20 is thusdetected utilizing the gravitational acceleration. In the example shownin FIG. 9B, when an acceleration of 1/√2 G has been detected in thenegative direction along the x axis and an acceleration of 1/√2 G hasbeen detected in the negative direction along the y axis, it is possibleto detect that the controller 20 is inclined by 45° counterclockwise inreal space coordinate system (XY axes). In this embodiment, since theaccelerations in three axial directions can be detected, thethree-dimensional inclination in real space can be calculated from theacceleration in each axial direction.

Specifically, the accelerations in three axial directions (X axis, Yaxis, and Z axis) output from the acceleration sensor 210 differ betweenthe case where the player vertically holds the controller 20 and movesthe controller 20 in a given direction (e.g., rightward) and the casewhere the player horizontally holds the controller 20 and moves thecontroller 20 in the given direction.

Therefore, in order to accurately detect the moving direction and thelike of the controller 20, it is preferable to perform a first processthat detects the position of the controller 20 in real space beforedetecting the moving direction and the like of the controller 20.

In this embodiment, a first type determination database for determiningthe position of the controller in real space is formed and stored in thestorage area 173 of the main storage section 172, as shown in FIG. 1.Specifically, the position of the controller 20 in real space isclassified into a plurality of basic positions taking variations inposition when the player holds the controller 20 into consideration. Inthis embodiment, the position of the controller 20 in real space isclassified into a vertical position, a diagonal rightward position, adiagonal leftward position, a horizontal position, and other basicpositions. The outputs of the acceleration sensor in the x, y, and zaxial directions in the controller coordinate system are storedcorresponding to each basic position. Therefore, the first process thatdetermines the position of the controller 20 in real space can beperformed based on the outputs of the acceleration sensor 210 in the x,y, and z axial directions.

In this case, if the basic position of the controller 20 is strictlyassociated with the outputs of the acceleration sensor in the x, y, andz axial directions in the controller coordinate system, the position ofthe controller cannot be determined when the player holds the controller20 in a position that differs from the basic position to some extent.

Since the game according to this embodiment aims at a wide range ofusers (i.e., from children to adult), it is necessary to form the firsttype determination database so that a position that differs from eachbasic position within a predetermined allowable range can be determinedto be the corresponding basic position even if the player holds thecontroller 20 in a position that differs from the basic position to someextent.

Therefore, the signals output from the acceleration sensor when theposition of the controller 20 differs from a specific basic positionwithin the allowable range (e.g., when the controller held by the playeris inclined with respect to the vertical basic position within thepredetermined allowable range) are also collected as the sensor outputcorresponding to the basic position and stored in the database.

The data corresponding to each basic position within the predeterminedallowable range is thus collected and stored in the first typedetermination database.

In this embodiment, the signals in the x, y, and z axial directionsoutput from the acceleration sensor of the controller 20 when moving thecontroller 20 in the moving direction instructed by the instructionimage 34 are compared with the first type determination database, andthe basic position that coincides with the position of the controllerthat is moved in the moving direction instructed by the instructionimage 34 is determined (first determination process).

Therefore, the position (e.g., vertical or horizontal with respect tothe screen) of the controller 20 held by the player can be determinedflexibly.

Detection and Determination of Movement of Controller 20 (SecondProcess)

When the basic position of the controller 20 in real space has beendetermined by the first process, a second process that detects themovement of the controller 20 in real space including the movingdirection is performed.

In this embodiment, a second type determination database shown in FIG.12 is used to perform the second process. The second type determinationdatabase is stored in the storage area 173 of the main storage section172.

The second type determination database is generated as follows.

The signals in the x, y, and z directions output from the accelerationsensor of the controller 20 when moving the controller 20 in thedirection instructed by the instruction image 340 in real space arecollected corresponding to each basic position of the controller 20shown in FIG. 11.

The signals output from the acceleration sensor 210 when the controller20 is moved in each basic position are associated with the movingdirection of the controller 20 in real space to create a second typedetermination database.

Even if the player moves the controller 20 held in an identical basicposition in an identical direction (e.g., rightward direction), theplayer may move the controller 20 in a meandering path or a curved pathwith respect to the instructed direction. If it is determined that themovement along such a moving path does not conform to the movement inthe instructed moving direction, a situation in which a wide range ofusers cannot enjoy the game may occur.

Therefore, the signals in the x, y, and z axial directions output fromthe acceleration sensor 210 when moving the controller 20 in a specificbasic position in the moving direction instructed by the instructionimage are collected within the predetermined allowable range, and storedin the database. For example, when the player moves the controller 20while drawing a path that differs from the direction instructed by theinstruction image 340 within the predetermined allowable range, thesignals output from the acceleration sensor are collected as signalscorresponding to the instructed basic position, and stored in thedatabase.

In this embodiment, data relating to the controller 20 held in eachbasic position is classified corresponding to each moving direction(i.e., rightward direction, diagonally right upward direction, upwarddirection, downward direction, diagonally right downward direction,diagonally left downward direction, forward direction, backwarddirection, clockwise direction, counterclockwise direction, and otherdirections), and the signals in the x, y, and z axial directions outputfrom the acceleration sensor are collected within the predeterminedallowable range, and stored in the database.

The second type determination database shown in FIG. 12 is generated inthis manner FIG. 12 shows the database corresponding to one basicposition. Note that data is similarly collected and stored correspondingto other basic positions shown in FIG. 11.

When the position of the controller 20 has been determined by the firstprocess, data corresponding to the determined position is compared withthe signals output from the acceleration sensor of the controller 20using the second type determination database to specify the movement(e.g., the moving direction) of the controller 20.

Specifically, a process that specifies the moving direction and themoving amount per unit time of the controller 20 held in the positiondetermined by the first process is performed in real time. The movingdirection, the moving timing, and the moving duration of the controller20 in real space are determined based on the moving direction and themoving amount per unit time of the controller 20 thus specified, andwhether or not the movement coincides with the movement instructed bythe instruction image 340 is evaluated.

Therefore, whether or not the player moves the controller 20 in theinstructed direction can be evaluated regardless of the position of thecontroller 20.

In this embodiment, the movements of the first controller 20-1 and thesecond controller 20-2 are individually evaluated with respect to theinstructions given by the instruction images 340-1 and 340-2 shown inFIG. 4.

When the movement of each of the first controller 20-1 and the secondcontroller 20-2 has been determined to be good (i.e., the controller hasbeen moved in the instructed direction at the instructed input timingand moved for the predetermined duration), the player scores 500 pointscorresponding to each determination result (score 320). When themovements of both of the first controller 20-1 and the second controller20-2 have been determined to be good, the player scores 1000 points(score 320). In this case, the main dancer 310 displayed on the gamescreen operates to reproduce a dance corresponding to the operation ofthe player.

When the movements of both of the first controller 20-1 and the secondcontroller 20-2 have been determined to be good, the player's operationmay be evaluated to a larger extent as compared with the case where themovement of only one of the first controller 20-1 and the secondcontroller 20-2 has been determined to be good. An evaluation displayarea 322 that evaluates the operation of the player is provided on thegame screen (upper right) shown in FIG. 5. Characters “COOL” aredisplayed when the input direction and the input timing are correct, andcharacters “POOR” are displayed when the input direction or timing isincorrect.

Screens shown in FIGS. 13A to 13C may be displayed based on theevaluation result.

For example, the cause of the incorrect operation of the controller 20may be specified based on the incorrect determination result. As shownin FIGS. 13A and 13B, a screen that instructs that the input timing hasbeen incorrect, or a screen that instructs that the controller has beenmoved inappropriately may be displayed.

This prompts the player to appropriately move the controller 20 so thatthe player corrects the dance and is urged to challenge a more difficultdance game.

When the player has been determined to have appropriately moved thecontroller 20 in accordance with the movement instructed by theinstruction image a screen that instructs characters “Perfect” isdisplayed (see FIG. 13C). Effect sound may also be generated to liven upthe game.

When successive movements are instructed by the instruction image, aspecial event is generated when the player has successfully performedthe successive movements. This improves the game production effect.

When the player has moved the controller 20 in accordance with themovement instructed by the instruction image 340, the moving path of thecontroller 20 may be displayed near the corresponding instruction image340. The player can thus visually observe the degree of similaritybetween the movement instructed by the instruction image 340 and theactual movement of the controller 20 so that the player can enjoy thegame while further improving his dance skill.

Determination Moving Start Timing and Moving Duration

In this embodiment, when the movement of the controller in apredetermined direction and the moving start timing have been instructedby the instruction image 340, the first process and the second processare performed. The movement of the controller 20 is then detected, andwhether or not the detected movement coincides with the instructedmovement is then determined.

In this embodiment, the velocity vector (i.e., moving amount per unittime) of the controller 20 may be calculated as a composite value of thevelocity vectors in the x, y, and z axis directions obtained from theacceleration sensor 210 of the controller 20. The velocity vectordetected when starting the movement is small even if the player hasmoved the controller 20 in the direction at the moving start timinginstructed by the instruction image 340, and reaches a predeterminedreference value after several frames (e.g., a frame T3 when the movementhas been started in a frame T1). Therefore, a delay by predeterminedframes occurs between the timing at which the controller 20 has beenoperated and the timing at which the operation is detected.

In this embodiment, a determination moving start timing and adetermination moving duration are set taking the above-mentioneddetection delay into consideration in addition to the moving starttiming and the moving duration instructed by the instruction image 340to determine the movement of the controller 20.

Specifically, the determination moving start timing is set at a timingdelayed by several frames as compared with the moving start timinginstructed by the instruction image 340, and the determination movingduration is set to coincide with the finish timing of the movingduration instructed by the instruction image 340 or expire after themoving duration instructed by the instruction image 340 by predeterminedframes.

This eliminates a problem due to the delay in detecting the moving starttiming of the controller. Therefore, the movement of the controller canbe appropriately determined.

According to this embodiment, the degree of difficulty in the game maybe set by appropriately setting the determination moving start timingand the determination moving duration.

For example, the degree of difficulty can be decreased by increasing thedelay of the determination moving start timing with respect to themoving start timing instructed by the instruction image, and can beincreased by decreasing the delay of the determination moving starttiming with respect to the moving start timing instructed by theinstruction image.

The degree of difficulty can be increased by decreasing thedetermination moving duration, and can be decreased by increasing thedetermination moving duration.

Therefore, the determination moving start timing and the moving durationmay be set corresponding to the degree of difficulty selected by theplayer, for example.

3-3: Game Screen Position Pointing Instruction andDetection/Determination Process

The pointing position instruction section 104 according to thisembodiment generates the pointing instruction image (pointinginstruction image) that instructs the player to point a predeterminedposition on the game screen at a given timing with the progress of thegame.

FIGS. 6A to 6C show specific examples of the pointing instruction image350 displayed on the game screen. In FIG. 6A, the pointing instructionimage 350 is displayed corresponding to the character on the left of thegame screen.

As shown in FIGS. 15A to 15D, the pointing instruction image 350includes a target board section 352 displayed at the pointing position,and a ring section 354 displayed around the target board section 352. Asshown in FIG. 15A, the ring section 354 is displayed as a large ringthat encloses the target board section 352 immediately after thepointing instruction image 350 has been displayed. The ring section 354shrinks with the lapse of time (see FIGS. 15A to 15D). As shown in FIG.15D, the ring section 354 overlaps the target board section 352 when thepointing timing has been reached.

The player points the controller 20 (the first controller 20-1 held withthe right hand in FIGS. 6A to 6C) at the position of the target boardsection 352 displayed on the game screen within a predetermined periodin accordance with the pointing timing instruction.

The light sources 198L and 198R are provided around the display section12, as described above. The player directs the imaging section 220provided on the front side of the controller 20 toward the game screento operate the controller 20 as a pointing device that points anarbitrary point on the game screen. FIGS. 14A and 1413 show an exampleof a state in which the player points the desired position on the gamescreen using the controller 20.

The detection/determination section 110 according to this embodimentdetermines whether or not the player has pointed the target boardsection 352 instructed by the pointing instruction image 350 at theinstructed timing based on a signal acquired from the imaging section220 of the controller 20.

When the detection/determination section 110 has determined that theplayer has pointed the instructed position at the instructed timing, apredetermined event (e.g., the backing dancer is raised as shown in FIG.6B) is generated, and a new pointing instruction image 350 is displayedat the center of the game screen, as shown in FIG. 6B.

As shown in FIG. 6B, the instruction images 340-1 and 340-2 thatinstruct a given movement of the controller are displayed correspondingto the new pointing instruction image 350.

In this case, when the player has successfully pointed the target boardsection 352 instructed by the newly displayed pointing instruction image350 at the instructed timing, the timing marks 344 of the instructionimages 340-1 and 340-2 move along the trace rails 342 when a specificperiod of time has elapsed to instruct given movements of thecontrollers 20-1 and 20-2 for the player.

When the player has successfully moved the controllers 20-1 and 20-2 inaccordance with the instructions, a screen in which an acrobatic dancehas succeeded is displayed, as shown in FIG. 6C, for example. When suchsuccessive movements have succeeded, a game event in which the number ofbacking dancers appearing on the screen is successively increased (seeFIGS. 16A to 16C) may be generated to increase the interest of the game,for example.

3-4: Multi-Player Mode

In this embodiment, a multi-player mode (two-player mode or four-playermode) can be selected when starting the game.

FIG. 17A shows an example of a game screen when a two-player mode hasbeen selected.

In this case, two players hold the first controller 20-1 or the secondcontroller 20-2. The players operate the controllers 20-1 and 20-2 inaccordance with the instructions given by the instruction images 340-1and 340-2 shown in FIG. 17A, and compete for the dance skill.

When four controllers 20 that differ in ID can be provided, afour-player mode shown in FIG. 17B can be selected.

Each player holds the corresponding controller 20, and observes theinstruction image 340 displayed on the game screen.

In this embodiment, two players corresponding to two spotlighted dancecharacters are given instructions on the movement of the controller 20using the instruction images 340-1 and 340-2.

Since the spotlighted dance character is changed with the progress ofthe game, the player visually recognizes his turn when the dancecharacter corresponding to the player is spotlighted. The player movesthe controller in accordance with the movement instructed by thecorresponding instruction image 340 to compete for the dance skill.

This embodiment has been described taking an example in which one playerutilizes one controller when performing a multi-player mode. Note thatone player may utilize two controllers, if necessary.

4. Process According to this Embodiment

An example of the process according to this embodiment is describedbelow with reference to flowcharts shown in FIGS. 18 to 21.

FIG. 18 shows an operation example when applying this embodiment to agame system.

When the player has selected a single-player mode or a multi-player modeand started the game, the game calculation starts (step S10).

A cheerleading dance game screen is displayed on the display section 12,and background music (dance music) corresponding to the dance is output.

In this case, instructions may be given to the player as to the positionof the controller 20. For example, instructions may be given to theplayer P as to whether to hold the controller 20 vertically orhorizontally.

When the dance characters 310 and 312 displayed on the game screen startto dance, as shown in FIG. 5, the instruction images 340-1 and 340-2that instruct the movements of the controllers 20-1 and 20-2 aredisplayed at a given timing with the progress of the game. Thedetection/determination process that determines whether or not theplayer has moved each of the controllers 20-1 and 20-2 in accordancewith the instructions given by the instruction images 340-1 and 340-2 isthen performed (steps S12 and S14).

When the display timing of the pointing instruction image 350 shown inFIGS. 6A to 6C has been reached, the pointing instruction image 350 isdisplayed on the game screen, as shown in FIGS. 6A to 6C, and thedetection/determination process that determines whether or not theplayer has pointed the controller 20 at the area of the target boardsection 352 instructed by the pointing instruction image 350 at theinstructed timing is performed (steps S20 and S22).

The above-described process is repeated until the game ends (step S30).The final game result is displayed when the game ends (step S32).

In this embodiment, the result display event based on the determinationresult (e.g., score calculation or screen display shown in FIGS. 17A and17B) occurs corresponding to each determination result of thedetection/determination process performed in the steps S14 and S22. In astep S32, the total value (total score) of each determination result ofthe detection/determination process performed in the steps S14 and S22is calculated and displayed as the final game result.

FIG. 19 shows a specific example of the process performed in the stepS14 shown in FIG. 18.

When the generation timing of the instruction image 340 has been reachedwith the progress of the game, the instruction images 340-1 and 340-2are generated and displayed on the game screen (step S40), and whetheror not the player has accurately moved the controllers 20-1 and 20-2 inreal space in accordance with the instructions given by the instructionimages 340-1 and 340-2 is determined (step S42).

The score 320 is updated based on the determination result, andcharacters “COOL” or “POOR” are displayed in the evaluation display area322.

The production image shown in FIGS. 13A to 13C is displayedcorresponding to the evaluation result (step S44).

The production image shown in FIGS. 13A to 13C may be displayed only ina predetermined scene during the game. The production image shown inFIGS. 13A to 13C may be displayed only when the player or the operatorhas performed the production screen display setting before starting thegame.

FIG. 20 shows a specific example of the process performed in the stepS40 shown in FIG. 19.

When the display timing of the instruction image 340 has been reachedduring the game, the transition image shown in FIGS. 9A and 91B isdisplayed before the moving start timing of the controller 20.Therefore, the player can determine and prepare for the moving directionand the moving start timing of the controller before the moving starttiming of the controller 20.

When the moving start timing of the controller has been reached (stepS52), the timing mark 344 is moved toward the operation finish mark 346along the trace rail 342, as shown in FIG. 9C.

The player moves the controller 20 in the direction instructed by thetrace rail 342 at the moving timing of the timing mark 344. The playersuccessively moves the controller 20 in accordance with the instructionsuntil the timing mark 344 reaches the operation finish mark 346.

When the successive movement finish timing has been reached (see FIG.9D) (step S56), the display of the instruction image 340 is finished(step S58).

The above display control process makes it possible to give visualinstructions to the player as to the movement of the controller in thedesired direction at an appropriate timing.

FIG. 21 shows a specific example of the detection/determination processperformed in the step S42 shown in FIG. 19.

When the moving start timing of the controller instructed by theinstruction image 340 has been reached (FIG. 9C) (step S60), signalsoutput from the acceleration sensor of the controller 20 are acquired(step S62), and the above-mentioned first process and second process areperformed (steps S64 and S66).

Specifically, the first process that determines the basic position whichcorresponds to the position of the controller 20 is performed, and thesecond process that determines the direction and the movement of thecontroller 20 and determines the degree of conformity with the movementinstructed by the instruction image 340 is then performed.

FIG. 22 shows a specific example of the process performed in the stepS22 shown in FIG. 18.

When the display timing of the pointing instruction image 350 shown inFIGS. 6A to 6C has been reached during the game, the pointinginstruction image 350 is displayed at a given position of the gamescreen (step S70).

As shown in FIGS. 15A to 15D, the pointing instruction image 350includes the target board section 352 that instructs the pointing areaand the ring section 354 that shrinks toward the target board section352. A timing at which the ring section 354 has shrunk to enclose thetarget board section 352 (i.e., the timing shown in FIG. 15D) is thetiming at which the player should point the controller 20 at theposition instructed by the target board section 352.

Whether or not the player has successfully pointed the controller 20 atthe instructed position is determined (step S72). When it has beendetermined that the player has successfully pointed the controller 20 atthe instructed position, an event corresponding to the pointinginstruction is generated (step S74).

In the example shown in FIG. 6A, an event in which the pointed backingdancer lifts the adjacent backing dancer is generated. In the exampleshown in FIG. 6B, the instruction images 340-1 and 340-2 are displayedcorresponding to the display position of the pointing instruction image350. An operation that moves the controllers 20-1 and 20-2 in thedirection instructed by the instruction images 340-1 and 340-2 isinstructed after the player has successfully pointed the controller 20at the instructed position, and the completion of an acrobatic danceshown in FIG. 6C is displayed when the player has successfully performedthe successive operations.

Note that the invention is not limited to the above embodiments. Variousmodifications and variations may be made without departing from thescope of the invention.

For example, although the above embodiments have been described takingan example in which the invention is applied to a dance game, theinvention is not limited thereto. The invention may be suitably appliedto other applications, such as giving aerobic or exercise instructionsto a student who holds a controller so that the student can performappropriate aerobics or exercise and determining the result.

Although the above embodiments have been described taking an example inwhich the timing mark 344 is moved along the trace rail 342 as theinstruction image 340, the invention is not limited thereto. Anarbitrary instruction image may be used insofar as a given movement ofthe controller can be instructed. For example, the color of a given pathdisplayed by the trace rail 342 may be changed corresponding to themoving timing and the operation duration of the controller.Alternatively, the moving direction may be displayed using an arrow orthe like. The operation start timing may be instructed by a countdowndisplay, and the operation duration may also be instructed by acountdown display.

Although only some embodiments of this invention have been described indetail above, those skilled in the art will readily appreciate that manymodifications are possible in the embodiments without materiallydeparting from the novel teachings and advantages of this invention.Accordingly, all such modifications are intended to be included withinthe scope of the invention.

1. A program that causes a computer to function as: an instruction imagegeneration section that generates an instruction image that instructs agiven movement of a controller including a physical quantity sensor; anda detection/determination section that acquires a signal from thephysical quantity sensor included in the controller, detects themovement of the controller, and determines the degree of conformity ofthe detected movement of the controller with the movement instructed bythe instruction image.
 2. The program as defined in claim 1, wherein:the physical quantity sensor detects a physical quantity from which amoving direction and a moving amount per unit time can be derived; theinstruction image generation section generates the instruction imagethat instructs a moving direction and a moving timing of the controlleras the movement; and the detection/determination section acquires thesignal from the physical quantity sensor, detects the moving directionand the moving timing of the controller, and determines the degree ofconformity of the detected moving direction and moving timing of thecontroller with the instructions instructed by the instruction image. 3.The program as defined in claim 2, wherein: the instruction imagegeneration section generates the instruction image that instructs amoving start timing as the moving timing and instructs a movingduration; and the detection/determination section acquires the signalfrom the physical quantity sensor, detects the moving direction, themoving start timing, and the moving duration of the controller, anddetermines the degree of conformity of the detected moving direction,moving start timing, and moving duration of the controller with theinstructions instructed by the instruction image.
 4. The program asdefined in claim 1, wherein the instruction image includes: a movingpath instruction image part that instructs a moving direction of thecontroller along a given path; and a timing instruction image part thatinstructs a moving timing of the controller along the path, theinstruction image being updated according to a change in content ofinstruction.
 5. The program as defined in claim 4, wherein the timinginstruction image part moves from a movement start instruction positionto a movement finish instruction position along the moving pathinstruction image part to instruct a moving start timing and a movingduration of the controller along the instructed path.
 6. The program asdefined in claim 4, wherein at least one of the moving path instructionimage part and the timing instruction image part is displayed as atransition image that changes from a previous notice display that isdisplayed before the moving start timing to a main display when themoving start timing is reached.
 7. The program as defined in claim 4,wherein: the instruction image is displayed as a set of moving pathinstruction image parts that instruct a continuous moving path bycombining a plurality of the moving path instruction image parts; andthe timing instruction image part moves along the continuously combinedmoving path instruction image parts to instruct the moving timing of thecontroller along a moving path instructed by each of the moving pathinstruction image parts.
 8. The program as defined in claim 3, whereinthe detection/determination section acquires the signal from thephysical quantity sensor, detects a timing and a duration when themoving amount of the controller per unit time exceeds a given value asthe moving start timing and the moving duration of the controller; andwherein the detection/determination section determines the degree ofconformity of the detected moving start timing and moving duration ofthe controller with a moving start timing and determination movingduration for determination related to the instructed moving start timingand instructed moving duration instructed by the instruction image whenthe detection/determination section has determined that the detectedmoving direction of the controller coincides with the instructed movingdirection instructed by the instruction image.
 9. The program as definedin claim 1, wherein the detection/determination section performs a firstprocess that compares the signal output from the physical quantitysensor when moving the controller with a first type determinationdatabase and determines the position of the controller that is moved,the first type determination database being related to the signal outputfrom the physical quantity sensor when moving the controller indifferent positions in the moving direction instructed by theinstruction image, and the first type determination database being usedto determine the position of the controller; and wherein thedetection/determination section performs a second process that comparesthe signal output from the physical quantity sensor when moving thecontroller in the position determined by the first process in the movingdirection instructed by the instruction image with a second typedetermination database to specify the movement of the controllerincluding at least the moving direction, and determines the degree ofconformity of the specified movement with the instructed movement, thesecond type determination database being related to the position of thecontroller determined based on the first type determination database,and being used to determine the movement the controller including atleast the moving direction from the signal output from the physicalquantity sensor when moving the controller in the moving directioninstructed by the instruction image.
 10. The program as defined in claim1, wherein the instruction image generation section generates theinstruction image that individually instructs a given movement for atleast two controllers each having the physical quantity sensor.
 11. Theprogram as defined in claim 1, the program further causing the computerto function as: a game calculation section that instructs a player toperform a dance action accompanying the movement of the controller,generates a game screen including a character that performs a dancerelated to the instructed dance action based on an input from thecontroller, and generates a dance background music signal, wherein theinstruction image generation section generates the instruction imagethat instructs a given movement of the controller in the game screen.12. The program as defined in claim 11, the game calculation sectionincluding a subsection that performs game production related to a resultof determination for the degree of conformity by thedetection/determination section.
 13. The program as defined in claim 11,the game calculation section including a subsection that specifies acause of an incorrect operation of the controller and notifies theplayer of the cause of the incorrect operation based on a result ofdetermination for the degree of conformity by thedetection/determination section.
 14. The program as defined in claim 11,the game calculation section including a subsection that traces themoving path of the controller detected by the detection/determinationsection in the game screen based on a given condition.
 15. The programas defined in claim 11, the program further causing the computer tofunction as: a pointing position detection section that acquires animaging signal from a imaging section provided in the controller anddetects a pointing position of the controller on the game screen, theimaging section imaging a reference position recognition body disposedor displayed at a position related to the game screen, wherein the gamecalculation section includes a subsection that displays a positioninstruction image that instructs to point at a predetermined position ofthe game screen at a given timing during the game; and wherein the gamecalculation section generates an event related to a pointing at thepredetermined position when the pointing at the predetermined positionhas been detected at the timing.
 16. The program as defined in claim 15,wherein the instruction image generation section generates theinstruction image that instructs a given movement of the controllerrelated to the predetermined pointed position of the game screen as theevent related to the pointing at the predetermined position.
 17. Acomputer-readable information storage medium storing the program asdefined in claim
 1. 18. A game system comprising: an instruction imagegeneration section that generates an instruction image that instructs agiven movement of a controller including a physical quantity sensor; anda detection/determination section that acquires a signal from thephysical quantity sensor included in the controller, detects themovement of the controller, and determines the degree of conformity ofthe detected movement of the controller with the movement instructed bythe instruction image.